Skip to content

Conversation

@multiplex55
Copy link
Owner

Motivation

  • Prevent recursive/query-chaining when opening settings which could retrigger the command search and cause crashes.
  • Make the settings dialog open flow resilient to malformed or unreadable settings files so the app doesn't panic.
  • Surface read/save failures to users via the existing toast/error system instead of silently failing or panicking.

Description

  • Change the settings command action from query:settings to a direct settings:dialog in src/plugins/settings.rs.
  • Introduce LauncherApp::open_settings_dialog() in src/gui/mod.rs to load Settings safely and initialize SettingsEditor only when the dialog is not already shown, and to surface load errors via set_error/toasts.
  • Replace direct self.show_settings = true sites with calls to open_settings_dialog() so all openings use the guarded flow.
  • Surface settings read failures during save in src/settings_editor.rs by adding toast/error feedback instead of a plain set_error.

Testing

  • No automated tests were executed as part of this change.
  • Changes were validated by static inspection of the modified call sites and ensuring no remaining query:settings usages remain.
  • The new guarded path is implemented to avoid reloading the editor when show_settings is already true.
  • Error-toasting follows the existing Toast APIs so failures will be visible to users at runtime.

Codex Task

@multiplex55 multiplex55 merged commit d98c51a into master Jan 9, 2026
1 check passed
@multiplex55 multiplex55 deleted the codex/inspect-and-improve-settings-command-flow branch January 9, 2026 00:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants